//SingletonTest.java
package com.ylaihui.oop10;

class Bank{
	// 1. 私有化构造器，不能在类外部 new 对象
	private Bank(){}
	
	// 2. 类内部 new 该类的对象，并私有化
	private static Bank instance = new Bank();
	
	// 3. 返回对象，需要提供静态的方法
	public static Bank getInstance(){
		// 4. 静态方法只能访问静态的属性， 那么将 instance 属性静态化
		return instance;
	}
}

public class SingletonTest {
	public static void main(String[] args) {
		Bank inst1 = Bank.getInstance();
		Bank inst2 = Bank.getInstance();
		
		System.out.println(inst1 == inst2); // true
	}
}
